<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018-07-31
 * Time: 16:49
 */
namespace app\index\controller;
use app\index\model\Staff;

class Delete{
    //删除当前记录:delete( )
    public function index(){
        //获取id=1002的数据
        $staff = Staff::get(1002);

        //根据数据对象主键,删除数据,并返回受影响记录数
        $affected = $staff -> delete();

        //删除成功返回:1,否则:0
        echo  $affected ? '删除成功!' : '删除失败~~';
    }

    //静态条件删除:destory
    public function index1(){

        //一、根据主键删除记录：
        //删除主键:1020的记录
        $affected = Staff::destroy(1020);

        //根据返回值判断是否删除成功
        echo  $affected ? '删除成功!' : '删除失败~~';

        //删除主键:1020的记录
        $affected = Staff::destroy([1020,1023,1030]);

        //根据返回值判断是否删除成功
        echo  $affected ? '删除成功!' : '删除失败~~';
        //二、 根据条件删除
        //删除主键id在1020到1030之间的记录
        $affected = Staff::destroy(['id'=>['between',[1028,1180]]]);

        //根据返回值判断是否删除成功
        echo  $affected ? '成功删除了'.$affected.'条记录!' : '删除失败~~';
        //三、用闭包函数设置删除条件
        //创建闭包函数
        $closure = function ($query){
            $query -> where(['name'=>['like','%阿%']]);
         };

        //执行删除操作:条件由闭包函数提供
        $affected = Staff::destroy($closure);

        //根据返回值判断是否删除成功
        echo  $affected ? '成功删除了'.$affected.'条记录!' : '删除失败~~';
    }

    public function soft(){
        ///获取id=1002的模型实例,创建数据对象$data
        $data = Staff::get(1002);

        //删除当前数据对象
        $affected = $data->delete();

        //反馈执行结果
        echo $affected ? '成功的软删除了'.$affected.'条记录!' : '软删除失败~~';
    }
}